let app = getApp()

Page({

    /**
     * 页面的初始数据
     */
    data: {
        btnDisable: false,
        spinShow: false,
        roleId: 0,
        mainActiveIndex: 0,
        activeId: [],
        max: 100,
        items: [],

        name: "",
        type: "",
        remark: ""
        // items: [{
        //     "text": "销售",
        //     "badge": null,
        //     "children": [{
        //         "text": "销售单",
        //         "id": 1
        //     },
        //         {
        //             "text": "销售记录",
        //             "id": 2
        //         },
        //         {
        //             "text": "销售退货单",
        //             "id": 3
        //         },
        //         {
        //             "text": "销售退货记录",
        //             "id": 4
        //         }
        //     ]
        // }, {
        //     "text": "库存",
        //     "badge": null,
        //     "children": [{
        //         "text": "库存盘点",
        //         "id": 5
        //     },
        //         {
        //             "text": "盘点记录",
        //             "id": 6
        //         },
        //         {
        //             "text": "入库单",
        //             "id": 7
        //         },
        //         {
        //             "text": "入库记录",
        //             "id": 8
        //         }
        //     ]
        // }]
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        let roleId = options.roleId
        if (roleId) {
            this.setData({
                roleId: roleId
            })
            this.queryData()
        }
        this.queryMenuData()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    queryData: function () {
        let _this = this
        app.formGet('/app/role/detail?id=' + this.data.roleId, null).then(res => {
            _this.setData({
                spinShow: false
            });
            wx.stopPullDownRefresh()
            if (res.code === 0) {
                _this.setData({
                    name: res.data.name,
                    type: res.data.type,
                    remark: res.data.remark,
                    activeId: res.data.menuIdList
                });
            } else {
                app.message(res.message, 'error')
            }
        }).catch(e => {
            _this.setData({
                spinShow: false
            });
            app.message(e, 'error')
        })
    },
    queryMenuData: function () {
        let _this = this
        app.formGet('/app/menu/getTreeSelectData?roleId=' + this.data.roleId, null).then(res => {
            _this.setData({
                spinShow: false
            });
            if (res.code === 0) {
                _this.setData({
                    items: res.data.list
                });
            } else {
                app.message(res.message, 'error')
            }
        }).catch(e => {
            _this.setData({
                spinShow: false
            });
            app.message(e, 'error')
        })
    },

    onClickNav({detail = {}}) {
        this.setData({
            mainActiveIndex: detail.index || 0,
        });
    },

    onClickItem({detail = {}}) {
        console.log(detail)
        const {activeId} = this.data;
        let items = this.data.items
        let item = items[this.data.mainActiveIndex]

        const index = activeId.indexOf(detail.id);
        if (index > -1) {
            activeId.splice(index, 1);
            item.badge = item.badge && item.badge > 1 ? item.badge - 1 : null
        } else {
            activeId.push(detail.id);
            item.badge = item.badge ? item.badge + 1 : 1
        }
        this.setData({
            items: items
        })
        this.setData({activeId});
    }
})